package com.ttg.common.component;

import com.ttg.common.dto.BasicDto;

/**
 * @ClassName LoginCrypto
 * @Description
 * @Author sss
 * @Date 2022/6/9
 * @Version 1.0
 **/
public abstract class LoginCrypto implements CryptoUtils, CryptoKeyConfig {


    public abstract boolean verifySign(BasicDto organBaseDto);

    public abstract String getMctPrivateKey(String privateKey, String publicKey);

    public abstract String getMctPublicKey(String privateKey, String publicKey);

    /**
     * 商户云 token访问 签名算法，
     * 在国密下是私钥签名 公钥验签
     * 在RSA下是私钥加密 公钥解密
     *
     * @param sourceStr  待签字符串
     * @param privateKey 私钥
     * @return
     * @throws Exception
     */
    public abstract String mctSignByToken(String sourceStr, String privateKey) throws Exception;
}
